home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Linux / Kubuntu 8.10 / kubuntu-8.10-desktop-i386.iso / casper / filesystem.squashfs / usr / lib / python2.5 / idlelib / Bindings.py < prev    next >
Text File  |  2008-10-05  |  3KB  |  112 lines

  1. """Define the menu contents, hotkeys, and event bindings.
  2.  
  3. There is additional configuration information in the EditorWindow class (and
  4. subclasses): the menus are created there based on the menu_specs (class)
  5. variable, and menus not created are silently skipped in the code here.  This
  6. makes it possible, for example, to define a Debug menu which is only present in
  7. the PythonShell window, and a Format menu which is only present in the Editor
  8. windows.
  9.  
  10. """
  11. import sys
  12. from configHandler import idleConf
  13.  
  14. menudefs = [
  15.  # underscore prefixes character to underscore
  16.  ('file', [
  17.    ('_New Window', '<<open-new-window>>'),
  18.    ('_Open...', '<<open-window-from-file>>'),
  19.    ('Open _Module...', '<<open-module>>'),
  20.    ('Class _Browser', '<<open-class-browser>>'),
  21.    ('_Path Browser', '<<open-path-browser>>'),
  22.    None,
  23.    ('_Save', '<<save-window>>'),
  24.    ('Save _As...', '<<save-window-as-file>>'),
  25.    ('Save Cop_y As...', '<<save-copy-of-window-as-file>>'),
  26.    None,
  27.    ('Prin_t Window', '<<print-window>>'),
  28.    None,
  29.    ('_Close', '<<close-window>>'),
  30.    ('E_xit', '<<close-all-windows>>'),
  31.   ]),
  32.  ('edit', [
  33.    ('_Undo', '<<undo>>'),
  34.    ('_Redo', '<<redo>>'),
  35.    None,
  36.    ('Cu_t', '<<cut>>'),
  37.    ('_Copy', '<<copy>>'),
  38.    ('_Paste', '<<paste>>'),
  39.    ('Select _All', '<<select-all>>'),
  40.    None,
  41.    ('_Find...', '<<find>>'),
  42.    ('Find A_gain', '<<find-again>>'),
  43.    ('Find _Selection', '<<find-selection>>'),
  44.    ('Find in Files...', '<<find-in-files>>'),
  45.    ('R_eplace...', '<<replace>>'),
  46.    ('Go to _Line', '<<goto-line>>'),
  47.   ]),
  48. ('format', [
  49.    ('_Indent Region', '<<indent-region>>'),
  50.    ('_Dedent Region', '<<dedent-region>>'),
  51.    ('Comment _Out Region', '<<comment-region>>'),
  52.    ('U_ncomment Region', '<<uncomment-region>>'),
  53.    ('Tabify Region', '<<tabify-region>>'),
  54.    ('Untabify Region', '<<untabify-region>>'),
  55.    ('Toggle Tabs', '<<toggle-tabs>>'),
  56.    ('New Indent Width', '<<change-indentwidth>>'),
  57.    ]),
  58.  ('run', [
  59.    ('Python Shell', '<<open-python-shell>>'),
  60.    ]),
  61.  ('shell', [
  62.    ('_View Last Restart', '<<view-restart>>'),
  63.    ('_Restart Shell', '<<restart-shell>>'),
  64.    ]),
  65.  ('debug', [
  66.    ('_Go to File/Line', '<<goto-file-line>>'),
  67.    ('!_Debugger', '<<toggle-debugger>>'),
  68.    ('_Stack Viewer', '<<open-stack-viewer>>'),
  69.    ('!_Auto-open Stack Viewer', '<<toggle-jit-stack-viewer>>'),
  70.    ]),
  71.  ('options', [
  72.    ('_Configure IDLE...', '<<open-config-dialog>>'),
  73.    None,
  74.    ]),
  75.  ('help', [
  76.    ('_About IDLE', '<<about-idle>>'),
  77.    None,
  78.    ('_IDLE Help', '<<help>>'),
  79.    ('Python _Docs', '<<python-docs>>'),
  80.    ]),
  81. ]
  82.  
  83. import sys
  84. if sys.platform == 'darwin' and '.app' in sys.executable:
  85.     # Running as a proper MacOS application bundle. This block restructures
  86.     # the menus a little to make them conform better to the HIG.
  87.  
  88.     quitItem = menudefs[0][1][-1]
  89.     closeItem = menudefs[0][1][-2]
  90.  
  91.     # Remove the last 3 items of the file menu: a separator, close window and
  92.     # quit. Close window will be reinserted just above the save item, where
  93.     # it should be according to the HIG. Quit is in the application menu.
  94.     del menudefs[0][1][-3:]
  95.     menudefs[0][1].insert(6, closeItem)
  96.  
  97.     # Remove the 'About' entry from the help menu, it is in the application
  98.     # menu
  99.     del menudefs[-1][1][0:2]
  100.  
  101.     menudefs.insert(0,
  102.             ('application', [
  103.                 ('About IDLE', '<<about-idle>>'),
  104.                 None,
  105.                 ('_Preferences....', '<<open-config-dialog>>'),
  106.             ]))
  107.  
  108.  
  109. default_keydefs = idleConf.GetCurrentKeySet()
  110.  
  111. del sys
  112.